/* md5: 5e2ec2efb707d60a763589c1bf3878b5 */
/* Rap仓库id: 273552 */
/* Rapper版本: 1.1.5 */
/* eslint-disable */
/* tslint:disable */
// @ts-nocheck

/**
 * 本文件由 Rapper 同步 Rap 平台接口，自动生成，请勿修改
 * Rap仓库 地址: http://rap2.taobao.org/repository/editor?id=273552
 */

import * as commonLib from 'rap/runtime/commonLib'

export interface IModels {
  /**
   * 接口名：getArticle
   * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430488&itf=1827686
   */
  'GET/api/getAnnounce': {
    Req: {}
    Res: {
      data: {
        Title: string
        Id: number
        Text: string
      }[]
    }
  }

  /**
   * 接口名：getAllItem
   * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430489&itf=1829110
   */
  'GET/api/getAllItem': {
    Req: {}
    Res: {
      data: {
        image: string
        text: string
        tag: string
        price: number
        name: string
        no: number
        num: number
        tagId: number
      }[]
    }
  }

  /**
   * 接口名：getTags
   * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430489&itf=1829111
   */
  'GET/api/getTags': {
    Req: {}
    Res: {
      data: {
        name: string
        id: number
      }[]
    }
  }

  /**
   * 接口名：underTagItem
   * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430489&itf=1829116
   */
  'GET/api/underTagItem': {
    Req: {
      tagId?: number
    }
    Res: {
      data: {
        tagId: number
        name: string
        price: number
        tag: string
        text: string
        image: string
        no: number
        num: number
      }[]
    }
  }

  /**
   * 接口名：示例接口
   * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430984&itf=1829937
   */
  'GET/example/1608531569212': {
    Req: {
      /**
       * 请求属性示例
       */
      foo?: string
    }
    Res: {
      /**
       * 字符串属性示例
       */
      string: string
      /**
       * 数字属性示例
       */
      number: number
      /**
       * 布尔属性示例
       */
      boolean: boolean
      /**
       * 正则属性示例
       */
      regexp: string
      /**
       * 函数属性示例
       */
      function: string
      /**
       * 数组属性示例
       */
      array: {
        /**
         * 数组元素示例
         */
        foo: number
        /**
         * 数组元素示例
         */
        bar: string
      }[]
      /**
       * 自定义数组元素示例
       */
      items: any[]
      /**
       * 对象属性示例
       */
      object: {
        /**
         * 对象属性示例
         */
        foo: number
        /**
         * 对象属性示例
         */
        bar: string
      }
      /**
       * 占位符示例
       */
      placeholder: string
    }
  }

  /**
   * 接口名：账号
   * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430984&itf=1829941
   */
  'GET/api/getLogin': {
    Req: {
      id?: number
    }
    Res: {
      data: {
        id: string
        password: string
      }[]
    }
  }

  /**
   * 接口名：示例接口
   * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=431164&itf=1830789
   */
  'GET/example/1608568423645': {
    Req: {
      /**
       * 请求属性示例
       */
      foo?: string
    }
    Res: {
      /**
       * 字符串属性示例
       */
      string: string
      /**
       * 数字属性示例
       */
      number: number
      /**
       * 布尔属性示例
       */
      boolean: boolean
      /**
       * 正则属性示例
       */
      regexp: string
      /**
       * 函数属性示例
       */
      function: string
      /**
       * 数组属性示例
       */
      array: {
        /**
         * 数组元素示例
         */
        foo: number
        /**
         * 数组元素示例
         */
        bar: string
      }[]
      /**
       * 自定义数组元素示例
       */
      items: any[]
      /**
       * 对象属性示例
       */
      object: {
        /**
         * 对象属性示例
         */
        foo: number
        /**
         * 对象属性示例
         */
        bar: string
      }
      /**
       * 占位符示例
       */
      placeholder: string
    }
  }

  /**
   * 接口名：报事报修
   * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=431164&itf=1830790
   */
  'GET/api/getMaintain': {
    Req: {}
    Res: {}
  }
}

type ResSelector<T> = T

export interface IResponseTypes {
  'GET/api/getAnnounce': ResSelector<IModels['GET/api/getAnnounce']['Res']>
  'GET/api/getAllItem': ResSelector<IModels['GET/api/getAllItem']['Res']>
  'GET/api/getTags': ResSelector<IModels['GET/api/getTags']['Res']>
  'GET/api/underTagItem': ResSelector<IModels['GET/api/underTagItem']['Res']>
  'GET/example/1608531569212': ResSelector<IModels['GET/example/1608531569212']['Res']>
  'GET/api/getLogin': ResSelector<IModels['GET/api/getLogin']['Res']>
  'GET/example/1608568423645': ResSelector<IModels['GET/example/1608568423645']['Res']>
  'GET/api/getMaintain': ResSelector<IModels['GET/api/getMaintain']['Res']>
}

export function createFetch(fetchConfig: commonLib.RequesterOption, extraConfig?: {fetchType?: commonLib.FetchType}) {
  if (!extraConfig || !extraConfig.fetchType) {
    console.warn(
      'Rapper Warning: createFetch API will be deprecated, if you want to customize fetch, please use overrideFetch instead, since new API guarantees better type consistency during frontend lifespan. See detail https://www.yuque.com/rap/rapper/overridefetch'
    )
  }
  const rapperFetch = commonLib.getRapperRequest(fetchConfig)

  return {
    /**
     * 接口名：getArticle
     * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430488&itf=1827686
     * @param req 请求参数
     * @param extra 请求配置项
     */
    'GET/api/getAnnounce': (req?: IModels['GET/api/getAnnounce']['Req'], extra?: commonLib.IExtra) => {
      return rapperFetch({
        url: '/api/getAnnounce',
        method: 'GET',
        params: req,
        extra,
      }) as Promise<IResponseTypes['GET/api/getAnnounce']>
    },

    /**
     * 接口名：getAllItem
     * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430489&itf=1829110
     * @param req 请求参数
     * @param extra 请求配置项
     */
    'GET/api/getAllItem': (req?: IModels['GET/api/getAllItem']['Req'], extra?: commonLib.IExtra) => {
      return rapperFetch({
        url: '/api/getAllItem',
        method: 'GET',
        params: req,
        extra,
      }) as Promise<IResponseTypes['GET/api/getAllItem']>
    },

    /**
     * 接口名：getTags
     * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430489&itf=1829111
     * @param req 请求参数
     * @param extra 请求配置项
     */
    'GET/api/getTags': (req?: IModels['GET/api/getTags']['Req'], extra?: commonLib.IExtra) => {
      return rapperFetch({
        url: '/api/getTags',
        method: 'GET',
        params: req,
        extra,
      }) as Promise<IResponseTypes['GET/api/getTags']>
    },

    /**
     * 接口名：underTagItem
     * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430489&itf=1829116
     * @param req 请求参数
     * @param extra 请求配置项
     */
    'GET/api/underTagItem': (req?: IModels['GET/api/underTagItem']['Req'], extra?: commonLib.IExtra) => {
      return rapperFetch({
        url: '/api/underTagItem',
        method: 'GET',
        params: req,
        extra,
      }) as Promise<IResponseTypes['GET/api/underTagItem']>
    },

    /**
     * 接口名：示例接口
     * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430984&itf=1829937
     * @param req 请求参数
     * @param extra 请求配置项
     */
    'GET/example/1608531569212': (req?: IModels['GET/example/1608531569212']['Req'], extra?: commonLib.IExtra) => {
      return rapperFetch({
        url: '/example/1608531569212',
        method: 'GET',
        params: req,
        extra,
      }) as Promise<IResponseTypes['GET/example/1608531569212']>
    },

    /**
     * 接口名：账号
     * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=430984&itf=1829941
     * @param req 请求参数
     * @param extra 请求配置项
     */
    'GET/api/getLogin': (req?: IModels['GET/api/getLogin']['Req'], extra?: commonLib.IExtra) => {
      return rapperFetch({
        url: '/api/getLogin',
        method: 'GET',
        params: req,
        extra,
      }) as Promise<IResponseTypes['GET/api/getLogin']>
    },

    /**
     * 接口名：示例接口
     * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=431164&itf=1830789
     * @param req 请求参数
     * @param extra 请求配置项
     */
    'GET/example/1608568423645': (req?: IModels['GET/example/1608568423645']['Req'], extra?: commonLib.IExtra) => {
      return rapperFetch({
        url: '/example/1608568423645',
        method: 'GET',
        params: req,
        extra,
      }) as Promise<IResponseTypes['GET/example/1608568423645']>
    },

    /**
     * 接口名：报事报修
     * Rap 地址: http://rap2.taobao.org/repository/editor?id=273552&mod=431164&itf=1830790
     * @param req 请求参数
     * @param extra 请求配置项
     */
    'GET/api/getMaintain': (req?: IModels['GET/api/getMaintain']['Req'], extra?: commonLib.IExtra) => {
      return rapperFetch({
        url: '/api/getMaintain',
        method: 'GET',
        params: req,
        extra,
      }) as Promise<IResponseTypes['GET/api/getMaintain']>
    },
  }
}
